 #ifndef WORLDOBJECT
#define WORLDOBJECT

#include <d3d9.h>
#include <d3dx9.h>
#include <list>
#include "Vertex.h"
#include "Location.h"
#include "SceneRoot.h"
#include "GeomBuilder.h"
#include "TranslateNode.h"
#include "RotationNode.h"

class WorldObject {
	public:
		WorldObject();
		virtual ~WorldObject() = 0;
		virtual SceneRoot* getDrawables()  = 0;
		virtual void update()  = 0;
		virtual int getSize(void)  = 0;
		virtual Location getLocation(void)  = 0;
		virtual bool draw() = 0;
		virtual bool canSplit() = 0;
		virtual bool deleteMe() = 0;
		virtual std::list<WorldObject *> split() = 0;
		virtual void setDraw(bool d) = 0;
		virtual void setDelete(bool d) = 0;
};

#endif //WORLDOBJECT